/**
1. 已经学生数组如下:

       var students = [
            {number:1001, name:'jack', score:98,gender:'男'},
            {number:1002, name:'rose', score:95,gender:'女'},
            {number:1003, name:'小丽', score:85,gender:'女'},
       ]

   1. 找成绩大于平均分的所有学生

   2. 找姓名是rose的学生并且性别是女的学生

   3. 所有学生成绩减十分，返回到新数组中

   4. 所有学生中是否有女生

   5. 所有学生中是否有不及格的学生

   6. 所有学生的总成绩,使用reduce方法

   7. 对一组学生的百分制成绩[98,78,89,77,69,59,85,100,93,81]分别统计出100分、90~99分、80~89分、…0~9分的人数。

   9. 定义一个学生类Student, 学生有学号number，姓名name,年龄age,成绩score属性，定义构造器接收学号，年龄姓名，成绩参数初始化学生对象， 创建三个学生对象。

 */

/**
 7. 对一组学生的百分制成绩[98,78,89,77,69,59,85,100,93,81]分别统计出100分、90~99分、80~89分、…0~9分的人数。
        分析:  统计人数 ?

		     1.计数器  let count = 0  //计数
			           if(条件){ count++ }

						 |
                         v

			 2. 各个分数段人数  	
			      let a => 0;  100
				  let b => 90~99 	   
				  let c => 80~89 
				   ...
				  let k => 0~9	

                         |
                         v

			 3. 定义一个数组，数组项存储不同分数段人数

				 let personNum:number = [1,3,6,1,1,0,0,8,10,14,20]
				                         0 1 2 3 4 5 6 7 8 9 10

				 personNum[0]  = 0~-9  人数
				 personNum[1]  = 10~-19  人数
				 personNum[2]  = 20~-29  人数
				    ...
				 personNum[8]  = 80~-89  人数
				 personNum[9]  = 90~-99  人数
				 personNum[10]  = 100  人数
			   
			4. 分数段人数/10 的值正好是人数数组下标
			   比如 89/10 -> 8 
			        99/10 -> 9
			
  */
const scoreArr: number[] = [98, 78, 89, 77, 69, 59, 85, 100, 93, 81] // 成绩数组
const personNum: number[] = [] // 存储11个不同分数段人数
//初始化人数数组
for (let i: number = 0; i < 11; i++) {
	personNum[i] = 0
}
// const personNum:number = [0,0,0,0,0,0,0,0,0,0,0] // 存储11个不同分数段人数

for (let i: number = 0; i < scoreArr.length; i++) {
	let num: number = parseInt(String(scoreArr[i] / 10))
	personNum[num]++
}

//打印分数段人数
for (let i: number = 0; i < personNum.length; i++) {
	// let str:string = `${i*10} ~ ${(i+1)*10-1} 分 人数是 ${ personNum[i]} 人`
	if (i == 10) {
		console.log('100分 人数是 ' + personNum[i])
	} else {
		console.log('' + i * 10 + '~' + '' + ((i + 1) * 10 - 1) + '分 人数是 ' + personNum[i] + '人')
	}
}

